简体   繁体   中英

Activity doesn't start when clicked on the notification

I created a notification setup in my application.when the user clicks the notification an activity Coding is suppose to open.But it isn't.When i checked the phone log(in the console of the android studio) it has some thing like this in it:

10-19 19:18:14.598 888-1437/? W/ActivityManager: Permission Denial: starting Intent { flg=0x1000c000 cmp=com.defcomdevs.invento16/.Coding bnds=[0,874][1080,1060] } from null (pid=-1, uid=10169) not exported from uid 10185

i don't understand what that is? my code for notification is:

public class AlarmReceiver extends BroadcastReceiver {
static int notifyId=1;
@Override
public void onReceive(Context context, Intent intent) {
    //Toast.makeText(context,"Alarm has been set",Toast.LENGTH_SHORT).show();
    NotificationCompat.Builder mNotify=new NotificationCompat.Builder(context);
    mNotify.setSmallIcon(R.drawable.index);
    mNotify.setContentTitle("Coding");
    mNotify.setContentText("INVENTO: Coding competition is going to be conducted today.");
    Intent resultIntent=new Intent(context,Coding.class); //activity to open up when user clicks the notification
    TaskStackBuilder stackBuilder=TaskStackBuilder.create(context);
    stackBuilder.addParentStack(Coding.class); //add the to-be-displayed activity to the top of stack
    stackBuilder.addNextIntent(resultIntent);
    PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
    mNotify.setContentIntent(resultPendingIntent);
    NotificationManager notificationManager=(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(notifyId, mNotify.build());
    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Ringtone r = RingtoneManager.getRingtone(context, notification);
    r.play();
    //note: on click display activity is not working.
}
}

please help!!

My manifest.xml file:

  <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.defcomdevs.invento16" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".AlarmActivity"
        android:label="@string/title_activity_alarm"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>

    <receiver
        android:name=".AlarmReceiver"
        android:process=":remote" />

    <activity
        android:name=".Registration"
        android:label="@string/title_activity_registration"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <activity
        android:name=".Coding"
        android:label="@string/title_activity_coding"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
</application>

Add android:exported="true" to your .Coding activity tag in the manifest.xml file. Though have in mind that this allows other applications to start your activity.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM